package com.atguigu.cloud.order.config;

import feign.RetryableException;
import feign.Retryer;
import org.springframework.stereotype.Component;

@Component
public class CloudRetryer implements Retryer {
    private int count = 0;
    //返回是否重试的方法： 如果抛出异常停止重试，如果没有异常还会继续重试
    @Override
    public void continueOrPropagate(RetryableException e) {
        if((count++)>=2){
            count = 0;
            throw new RuntimeException(e);
        }
    }
    //返回一个重试器对象
    @Override
    public Retryer clone() {
        return new CloudRetryer();
    }
}
